﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Effects;
using System.Windows.Shapes;

namespace ChartingModel.Collections
{
    public class PieChartDataList : AbstractViewModel<PieChartDataList>
    {
        public PieChartDataList()
        {
            _openFile = new RelayCommand(p => this.SelectFileExecute());   
        }

        string label;
        public string Label 
        {
            get 
            { 
                return label; 
            } 
            set 
            { 
                label = value; 
                OnPropertyChanged(vm => this.Label); } 
        }

        double item;
        public double Item { get; set; }

        int explode;
        public int Explode {
            get { return explode; }
            set { explode = value;
            OnPropertyChanged("Explode");
            }
        }

        public string ToolTipInfo
        {
            get { return label + Environment.NewLine + this.Item; }
        }

        Brush brushColor;
        public Brush BrushColor 
        {
            get { return brushColor; }
            set { brushColor = value;
            OnPropertyChanged("BrushColor");
            }
        }

        Geometry myPath;
        public Geometry MyPath {
            get { return myPath; }
            set { myPath = value;
            OnPropertyChanged("MyPath");
            }
        }


        Effect myEffect;
        public Effect MyEffect
        {
            get { return myEffect; }
            set
            {
                myEffect  = value;
                OnPropertyChanged("MyEffect");
            }
        }

        public bool LegendSelectable { get { return false; } }
        

        #region("Public Command Defenitions")
        public ICommand SelectFileCommand
        {
            get
            {
                if (_openFile != null)
                {
                    _openFile = new RelayCommand(p => this.SelectFileExecute());
                }
                return _openFile;
            }
        }

        #endregion
        #region("Commands Private backing")

        private RelayCommand _openFile;

        #endregion

        #region("Commands CanExecute Methods")


        #endregion

        #region("Commands Execute Methods")


        #endregion


        private void SelectFileExecute()
        {

        }
        
    }
}
